package com.wuxinwudai.android.util;


import java.io.UnsupportedEncodingException;
import java.sql.Timestamp;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;

/**
 * StringUtils 类提供关于字符串的工具方法
 * @author 吾心无待 于 2016年03月16日
 *
 */
public class StringUtils {
    /**
     * 判断字符串是否为 null 或空字符串
     * @param str 要判断的字符串
     * @return 字符串是否为 null 或空串
     */
    public static boolean isNullOrEmpty(String str) {
        return (str == null) || (str.length() == 0);
    }

    /**
     * 判断字符串是否为 null 或空白字符串
     * @param str 要判断的字符串
     * @return 字符串是否为 null 或空白字符串
     */
    public static boolean isNullOrWhiteSpace(String str) {
        return (str == null) || (str.trim().length() == 0);
    }

    /**
     * 字符串首字母大写
     * @param str 要处理的字符串
     * @return 首字母大小
     */
    public static String capitalizeFirstLetter(String str) {
        if (isNullOrEmpty(str)) {
            return str;
        }
        char c = str.charAt(0);
        return (!Character.isLetter(c) || Character.isUpperCase(c)) ? str : String.valueOf(Character.toUpperCase(c)) + str.substring(1);
    }

    /**
     * 改变字符串的编码
     * @param source   要编码的字符串
     * @param encoding 新的编码
     * @return 重新编码后的字符串
     */
    public static String changeEncoding(String source, String encoding) {
        try {
            String returnStr = new String(source.getBytes(), encoding);
            return returnStr;
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return source;
    }


}
